package vo

import (
	"boy-go/pkg/request"
	"boy-go/pkg/xtime"
	"time"
)

// SysLogininforModel
type SysLogininforModel struct {
	InfoId        int64   `json:"infoId" form:"infoId"`               // 访问ID
	UserName      *string `json:"userName" form:"userName"`           // 用户账号
	Ipaddr        *string `json:"ipaddr" form:"ipaddr"`               // 登录IP地址
	LoginLocation *string `json:"loginLocation" form:"loginLocation"` // 登录地点
	Browser       *string `json:"browser" form:"browser"`             // 浏览器类型
	Os            *string `json:"os" form:"os"`                       // 操作系统
	Status        *string `json:"status" form:"status"`               // 登录状态（0成功 1失败）
	Msg           *string `json:"msg" form:"msg"`                     // 提示消息
	LoginTime     *string `json:"loginTime" form:"loginTime"`         // 访问时间
}

func (item *SysLogininforModel) LoginAt(t *time.Time) {
	item.LoginTime = xtime.TS.Format(t)
}

type QuerySysLogininforReq struct {
	request.ParamsRequest
	InfoId        *int64  `json:"infoId" form:"infoId"`               // 访问ID
	UserName      *string `json:"userName" form:"userName"`           // 用户账号
	Ipaddr        *string `json:"ipaddr" form:"ipaddr"`               // 登录IP地址
	LoginLocation *string `json:"loginLocation" form:"loginLocation"` // 登录地点
	Browser       *string `json:"browser" form:"browser"`             // 浏览器类型
	Os            *string `json:"os" form:"os"`                       // 操作系统
	Status        *string `json:"status" form:"status"`               // 登录状态（0成功 1失败）
}
type ListSysLogininforRsp struct {
	List  []*SysLogininforModel
	Total int64
}

type AddSysLogininforReq struct {
	InfoId        int64   `json:"infoId" form:"infoId"`               // 访问ID
	UserName      *string `json:"userName" form:"userName"`           // 用户账号
	Ipaddr        *string `json:"ipaddr" form:"ipaddr"`               // 登录IP地址
	LoginLocation *string `json:"loginLocation" form:"loginLocation"` // 登录地点
	Browser       *string `json:"browser" form:"browser"`             // 浏览器类型
	Os            *string `json:"os" form:"os"`                       // 操作系统
	Status        *string `json:"status" form:"status"`               // 登录状态（0成功 1失败）
	Msg           *string `json:"msg" form:"msg"`                     // 提示消息
	LoginTime     *string `json:"loginTime" form:"loginTime"`         // 访问时间
}
type AddSysLogininforRsp struct {
	InfoId int64 `json:"infoId" form:"infoId"` // 访问ID
}

type EditSysLogininforReq struct {
	InfoId        int64   `json:"infoId" form:"infoId"`               // 访问ID
	UserName      *string `json:"userName" form:"userName"`           // 用户账号
	Ipaddr        *string `json:"ipaddr" form:"ipaddr"`               // 登录IP地址
	LoginLocation *string `json:"loginLocation" form:"loginLocation"` // 登录地点
	Browser       *string `json:"browser" form:"browser"`             // 浏览器类型
	Os            *string `json:"os" form:"os"`                       // 操作系统
	Status        *string `json:"status" form:"status"`               // 登录状态（0成功 1失败）
	Msg           *string `json:"msg" form:"msg"`                     // 提示消息
	LoginTime     *string `json:"loginTime" form:"loginTime"`         // 访问时间
}
type EditSysLogininforRsp struct {
	InfoId int64 `json:"infoId" form:"infoId"` // 访问ID
}
